Câu 1: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {2,1}; printf("%d", *a); return 0; } Đáp án đúng: 2 Câu 2: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[]={10,20,30}; printf("%d",*a+1); return 0; } Đáp án đúng: 11 Câu 3: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {1,6,3,5,8,4}, *p = a; printf("%d", *p); return 0; } Đáp án đúng: 1 Câu 4: Câu lệnh a=(int*)malloc(n*sizeof(int)); trong chương trình bên dưới dùng để làm gì? #include int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); return 0; } Đáp án đúng: Cấp phát bộ nhớ cho con trỏ a quản lý có kích thước bằng n* kích thước kiểu int (với n được nhập từ bàn phím) Câu 5: Trong ngôn ngữ lập trình C, chương trình sau dùng để làm gì? #include int main() { int a[]={1,3,7,2,4}, *p=a, n=5; for(int i=0; i int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); ……… return 0; } Đáp án đúng: for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, kq; kq=*p; for(int i=1; i kq) kq=*(p+i); printf(“%d”, kq); return 0; } Đáp án đúng: 7 Câu 10: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[]={1,3,7,5}, n=4, *p=a, kq; kq=*p; for(int i=1; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; printf("%d", *a); return 0; } Đáp án đúng: Địa chỉ phần tử đầu tiên của mảng a Câu 12: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = a; printf("%d", *p); return 0; } Đáp án đúng: Lỗi biên dịch (Compiler error) Câu 13: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p; p=*a; printf("%d", *(p+1*3+2)); return 0; } Đáp án đúng: 6 Câu 14: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p; p=*a; printf("%d", *(p+0*3+1) +2); return 0; } Đáp án đúng: 4 Câu 15: Chương trình sau dùng để làm gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a; for(int i=0; i<3; i++) { printf(“\n”); for(int j=0; j<3; j++) printf(“%3d”, *(p+i*3+j)); } return 0; } Đáp án đúng: Xuất mảng 2 chiều a gồm 3*3 phần tử (3 dòng, 3 cột) Câu 16: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a; for(int i=0; i<3; i++) { printf(“\n”); for(int j=0; j<3; j++) printf(“%3d”, *(p+i*3+j)); } return 0; } Đáp án đúng: 1 2 3 4 5 6 7 8 9 Câu 17: Chương trình sau dùng để làm gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=1; for(int i=0; i<3; i++) for(int j=0; j<3; j++) kq*= *(p+i*3+j); printf(“Ket qua=%d”, kq); return 0; } Đáp án đúng: Tính tích tất cả phần tử trong mảng hai chiều a Câu 18: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {1,0,1}, {2,0,4}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; ikq) kq=*(p+i*n+j); printf(“%d”, kq); return 0; } Đáp án đúng: 4 Câu 19: Hãy điền vào dấu “………” để hoàn chỉnh chương trình nhập vào mảng 2 chiều a có m*n phần tử. #include int main() { int *a, m, n; printf(“m=”); scanf(“%d”, &m); printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(m*n*sizeof(int)); ……… return 0; } Đáp án đúng: for(int i=0; i int main() { int a[3][3] = {{7,8,9}, {4,5,6}, {1,2,3}}; int *p =*a, m=3, n=3; ……… return 0; } Đáp án đúng: for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1, 9, 4, 3 ,5}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, i, j; for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, x; printf(“Nhap x=”); scanf(“%d”, &x); ……….. return 0; } Đáp án đúng: for(int i=0; i int main() { int a[]={1,3,-7,2,4}, *p=a, n=5, ; int kq=0; ………. if(kq==n) printf(“Mang toan so duong”); else printf(“Mang khong toan so duong”); return 0; } Đáp án đúng: for(int i=0; i0) kq++; Câu 28: Hãy điền vào dấu “…….” để hoàn chỉnh chương trình kiểm tra xem mảng a có chứa toàn số chẵn hay không? #include int main() { int a[]={1,3,-7,2,4}, *p=a, n=5, ; int kq=0; ………. if(kq==n) printf(“Mang toan so chan”); else printf(“Mang khong toan so chan”); return 0; } Đáp án đúng: for(int i=0; i int main(){ int a[3][3] = {{1,2,-3}, {-4,5,0}, {2,0,1}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {12,0,1}, {6,8,4}}; int *p =*a, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, k=1; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(i==k) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } Đáp án đúng: 15 Câu 32: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{0,2,3}, {-4,5,3}, {2,6,1}}; int *p =*a, kq=1, m=3, n=3, k=2; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = *a; printf("%d", *p); return 0; } Đáp án đúng: 1 Câu 34: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int KTNT(int x){ int dem=0; for(int i=1; i<=x; i++) if(x%i==0) dem++; if(dem==2) return 1; else return 0;} int main(){ int a[]={-4,2,7,5,-10,8,6}, n=7, *p=a; for(int i=0; i int main(){ int a[]={3,4,1,5,6,2}, n=6, *p=a, i, j; for(int i=0; i*(p+j)) { int temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } } for(i=0; i int KTNT(int x) { int dem=0; for(int i=1; i<=x; i++) if(x%i==0) dem++; if(dem==2) return 1; else return 0; } int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=1, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; ikq) kq=*(p+i*n+j); printf(“%d”, kq); return 0; } Đáp án đúng: 7 Câu 40: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{7,8,9}, {4,5,6}, {1,2,3}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; i int main() { int a[] = {1,2}, *p = a; printf("%d", p[1]); return 0; } Đáp án đúng: 2 Câu 42: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[] = {1,6,3,5,8,4}, *p = a; printf("%d", *(p+3)); return 0; } Đáp án đúng: 5 Câu 43: Trong ngôn ngữ lập trình C, chương trình sau dùng để làm gì? #include int main() { int *a, n; printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(n*sizeof(int)); for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5; ………. return 0; } Đáp án đúng: for(int i=0; i int main() { int a[]={1,3,7,2,5}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; printf("%d", *(*a+3)); return 0; } Đáp án đúng: 4 Câu 47: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p = *a; printf("%d", p); return 0; } Đáp án đúng: Địa chỉ phần tử đầu tiên của mảng a Câu 48: Chương trình sau dùng để làm gì? #include int main() { int *a, m, n; printf(“m=”); scanf(“%d”, &m); printf(“n=”); scanf(“%d”, &n); a=(int*)malloc(m*n*sizeof(int)); for(int i=0; i int main() { int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) kq+= *(p+i*3+j); printf(“Ket qua=%d”, kq); return 0; } Đáp án đúng: Tính tổng tất cả phần tử trong mảng hai chiều a Câu 50: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,3}, {1,0,1}, {2,0,4}}; int *p =*a, kq, m=3, n=3; kq=*p; for(int i=0; i int main() { int a[]={1,3,7,2,4}, *p=a, n=5, kq=0; for(int i=0; i int main() { int a[]={2,3,7,2,5}, *p=a, n=5, kq=1; for(int i=0; i int main() { int a[]={1,3,7,5}, n=4, *p=a, i, j; for(int i=0; i*(p+j)){ int temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } for(i=0; i int main() { int a[]={-4,2,7,5,-10,8,6}, n=7, *p=a; for(int i=0; i0) printf(“%3d”, *(p+i)); return 0; } Đáp án đúng: 2 8 6 Câu 55: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a[3][3] = {{1,2,-3}, {-4,5,0}, {2,0,1}}; int *p =*a, kq=1, m=3, n=3; for(int i=0; i0) kq*= *(p+i*n+j); printf(“%d”, kq); return 0; } Đáp án đúng: 20 Câu 56: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{1,2,3}, {12,0,1}, {6,8,4}}; int *p =*a, m=3, n=3, x=1; for(int i=0; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(*(p+i*3+j) %2 !=0) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } Đáp án đúng: 25 Câu 58: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int KTSHH(int x) { int s=0; for(int i=1; i int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0; for(int i=0; i<3; i++) for(int j=0; j<3; j++) if(i==j) kq+= *(p+i*3+j); printf(“%d”, kq); return 0; } Đáp án đúng: 15 Câu 60: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ int a[3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}; int *p =*a, kq=0, m=3, n=3; for(int i=0; i int main() { char*s ="C++"; printf("%s ", s); s++; printf("%s", s); return 0; }                                                                                                           A. C++C++ Đáp án đúng: C++++ Câu 70: Cho khai báo sau: char S[20]=”aaaaaea”; char* p=strstr(S,”e”); Giả sử địa chỉ của S là 1000, thì giá trị của p là bao nhiêu? Đáp án đúng: 1005 Câu 71: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include int main() { char s[20]="Hello\0Hi"; printf("%d %d", strlen(s),sizeof(s)); return 0; } Đáp án đúng: 5 20 Câu 72: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() {char*s ="Hello, " "World!"; printf("%s", s); return 0; } Đáp án đúng: Hello, World! Câu 73: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr=ptr+3; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? Đáp án đúng: FFFA Câu 74: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr=ptr-2; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? Đáp án đúng: FFF0 Câu 75: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int *p = 15; printf("%d",*p); return 0; } Đáp án đúng: Lỗi biên dịch (Compiler error) Câu 76: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 5; int *p; p=&x; x++; printf("%d",*p); return 0; } Đáp án đúng: 6 Câu 77: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char c=’a’; char *p; p=&c; printf("%c",*p); return 0; } Đáp án đúng: a Câu 78: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=5; p=&a; (*p)++; printf("%d",a); return 0; } Đáp án đúng: 6 Câu 79: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=15; p=&a; a=a*2; *p=*p-10; printf("%d",a); return 0; } Đáp án đúng: 20 Câu 80: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 10, *p = &x; int y=20, *q=&y; int *r = p; *r += *q; printf("%d",*r); return 0; } Đáp án đúng: 30 Câu 81: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char*s ="Hello"; printf("%c",*s++); return 0; } Đáp án đúng: H Câu 82: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main(){ char*s ="Hello"; while(*s!=NULL) printf("%c",*s++); return 0; } Đáp án đúng: Hello Câu 83: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char *s=”Hellen”; char *p=s; char c=*(p+3); printf(“%c”,c); return 0; } Đáp án đúng: l Câu 84: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { char *s; char str[] = "Welcome"; s = str; while(*s) printf("%c", *s++); return 0; } Đáp án đúng: Welcome Câu 85: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 65, *p = &x; int *q=p; char *r=q; printf("%c",*r); return 0; } Đáp án đúng: Lỗi biên dịch (Compiler error) Câu 86: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int *v); int main() {          int var = 5; change(&var); printf("%d", var); return 0; } void     change(int *v) {          (*v) = (*v) * 100; } Đáp án đúng: 500 Câu 87: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     hoanvi(int a, int b); int main() { int a=5, b=7; hoanvi(a, b); printf("%3d %3d”, a, b); return 0; } void     hoanvi(int a, int b) {          int temp=a; a=b; b=temp; } Đáp án đúng: 5 7 Câu 88: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int *a, int b); int main() { int a = 5, b=10; change(&a, b); printf("%3d %3d", a, b); return 0; } void     change(int *a, int b) {          (*a) = (*a) +20; b=b+(*a); } Đáp án đúng: 25 10 Câu 89: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" void myfunc (char* param) { ++param; printf("%s\n", param); } int main() { char* string = (char*)malloc(64); strcpy(string, "hello_World"); myfunc(string); return 0; } Đáp án đúng: ello_World Câu 90: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? int xstrlen(char* s) { int length =0; while(*s!='\0') { length++; s++; } return(length); } int main() { char d[]="Hello All"; printf(" %d", xstrlen(d)); return 0; } Đáp án đúng: 9 Câu 91: Hàm nào dùng để cấp phát bộ nhớ động trong ngôn ngữ lập trình C? Đáp án đúng: malloc()vàcalloc() Câu 92: Trong chương trình sau, câu lệnh nào gây ra thông báo lỗi khi chạy (Run) chương trình trong ngôn ngữ lập trình C? #include int main() { int a, *p; //Lệnh 1 a=5; //Lệnh 2 p=a; //Lệnh 3 printf("%d",*p); //Lệnh 4 return 0; } Đáp án đúng: Lệnh 3 Câu 93: Trong ngôn ngữ lập trình C, để lấy địa chỉ của một biến được quản lý bởi con trỏ a, ta dùng cú pháp gì? Đáp án đúng: a; Câu 94: Trong ngôn ngữ lập trình C, đặt ptr là con trỏ kiểu int trỏ đến địa chỉ FFF4 (giả sử kiểu int có kích thước 2 byte). Sau khi thực hiện câu lệnh ptr--; thì con trỏ ptr sẽ trỏ đến địa chỉ nào? Đáp án đúng: FFF2 Câu 95: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" int main() { char str[] = {"pvpit"}; char*s1 = str; s1++; printf("%c", *s1); return 0; } Đáp án đúng: v Câu 96: Hàm nào trả về một con trỏ đến vị trí xuất hiện sau cùng của một ký tự trong một chuỗi? Đáp án đúng: strrchr() Câu 97: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { unsigned x = 5, *y=&x, *p = y+0; printf("%u",*p); return 0; } Đáp án đúng: 5 Câu 98: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 15, *p = &x; int *q=p; x=x+5; printf("%d",*q); return 0; } Đáp án đúng: 20 Câu 99: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int a, *p; a=5; p=&a; a++; *p=*p +2; printf("%d",*p); return 0; } Đáp án đúng: 8 Câu 100: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int main() { int x = 10, *p = &x; int y=20, *q=&y; int *r = p +5; r = q; *r += 5; printf("%d",*r); return 0; } Đáp án đúng: 25 Câu 101: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include #include int main() { char*ptr1 = NULL; char*ptr2 = 0; strcpy(ptr1, "c"); strcpy(ptr2, "questions"); printf("\n%s %s", ptr1, ptr2); return 0; } Đáp án đúng: Lỗi thực thi Câu 102: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" #include "stdlib.h" void myfunc(char* param) { ++param; } int main()) { char* string = (char*)malloc(64); strcpy(string, "hello_World"); myfunc(string); printf("%s", string); return 0; } Đáp án đúng: hello_World Câu 103: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     hoanvi(int *a, int *b); int main() { int x=5, y=7; hoanvi(&x, &y); printf("%3d %3d”, x, y); return 0; } void     hoanvi(int *a, int *b) {          int temp=*a; *a=*b; *b=temp; } Đáp án đúng: 7 5 Câu 104: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void     change(int a, int *b); int main() { int a = 5, b=10; change(a, &b); printf("%3d %3d", a, b); return 0; } void     change(int a, int *b) { a = a * 2; *b=*b+a; } Đáp án đúng: 5 20 Câu 105: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include "stdio.h" #include "string.h" int main() { char* s1 = “Hello WorlHello All!”; char* s2 = “Hello”; int kq=0; char* p=strstr(s1,s2); while(p!=NULL) { kq++; p++; p=strstr(p,s2); } printf(“%d”, kq); return 0; } Đáp án đúng: 2 Câu 106: Cho khai báo sau: typedef struct PS{ int tuso, mauso; }; PS *p; Để truy xuất thành phần tử số (tuso) thông qua con trỏ p, ta dùng cú pháp gì? Đáp án đúng: p->tu; Câu 107: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include typedef struct ST{ int d1,d2,d3;}; ST v= {5, 6, 7}; ST* p=&v; int main() { p->d3=9; printf("%d", v.d3); return 0; } Đáp án đúng: 9 Câu 108: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include #include typedef struct SV { float d; char ht[10]; }; int main() { SV m, *p; p=&m; m.d=7; (*p).d=10; strcpy(m.ht,"NguyenVanTuan"); printf("%0.1f",m.d); printf("%s",m.ht); return 0; } Đáp án đúng: 10.0NguyenVanTuan Câu 109: Hãy điền vào dấu “………….” để hoàn chỉnh chương trình khởi tạo thông tin cho một biến kiểu BOOKS? #include #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { strcpy( Book1->title, "C Programming"); strcpy( Book1->author, "Nuha Ali"); Book1->book_id = 649; } int main() { BOOKS p; ……………….. return 0; } Đáp án đúng: setBooks(&p); Câu 110: Cho khai báo kiểu BOOKS như sau: typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; Hàm void printBooks(BOOKS b); có chức năng xuất các thông tin của đối tượng b. Hãy chọn định nghĩa đúng cho hàm printBooks? Đáp án đúng: void printBooks(BOOKS b) {printf("Title:%s\n", b.title); printf("Author:%s\n", b.author); printf("Id:%d\n",b.book_id); } Câu 111: Hãy điền vào dấu “………….” để hoàn chỉnh chương trình nhập thông tin cho n phần tử kiểu BOOKS? #include #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { fflush(stdin); printf(“Title:”); gets( Book1->title); printf(“Author:”); gets( Book1->author); printf(“Book Id:”); scanf(“%d”,&(Book1->book_id)); } int main() { int i, n=5; BOOKS ds[5]; for(i=0; i #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { fflush(stdin); printf(“Title:”); gets( Book1->title); printf(“Author:”); gets( Book1->author); printf(“Book Id:”); scanf(“%d”,&(Book1->book_id)); } void printBooks(BOOKS b) { printf("Title:%s\n", b.title); printf("Author:%s\n", b.author); printf("Id:%d\n",b.book_id); } int main() { int i, n=5; BOOKS ds[5]; for(i=0; i #include #include typedef struct DATE { int day, month, year;}; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; void setStudent(STUDENT *a) { scanf(“%d”, &(a->student_id)); fflush(stdin); gets(a->fullname); scanf(“%d”, &(a->birthday.day)); scanf(“%d”, &(a->birthday.month)); scanf(“%d”, &(a->birthday.year)); } int main() { int i, n=5; STUDENT *ds; ds=(STUDENT*) malloc (n*sizeof(STUDENT)); for(i=0; i #include typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; void setBooks(BOOKS *Book1) { strcpy( Book1->title, "C Programming"); strcpy( Book1->author, "Nuha Ali"); Book1->book_id = 649; } int main(){ BOOKS *p; p=(BOOKS*)malloc(sizeof(BOOKS)); ……………….. return 0; } Đáp án đúng: setBooks(p); Câu 118: Cho khai báo kiểu BOOKS như sau: typedef struct BOOKS { char title[50]; char author[50]; int book_id; }; Hàm void printBooks(BOOKS *b); có chức năng xuất các thông tin của đối tượng b. Hãy chọn định nghĩa đúng cho hàm printBooks? Đáp án đúng: void printBooks(BOOKS *b) {printf("Title:%s\n", b->title); printf("Author:%s\n", b->author); printf("Id:%d\n",b->book_id); } Câu 119: Cho khai báo sau: typedef struct DATE{ int day, month, year; }; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; STUDENT *a; Hãy chọn đáp án đúng? Đáp án đúng: a->birthday.day=10; Câu 120: Cho khai báo sau: typedef struct DATE { int day, month, year; }; typedef struct STUDENT { int student_id; char fullname[50]; DATE birthday; }; Hàm void setStudent(STUDENT *a); có chức năng nhập thông tin cho a thuộc kiểu STUDENT. Hãy chọn định nghĩa đúng cho hàm setStudent? Đáp án đúng: void setStudent(STUDENT *a) {scanf(“%d”, &(a->student_id)); gets(a->fullname); scanf(“%d”, &(a->birthday.day)); scanf(“%d”, &(a->birthday.month)); scanf(“%d”, &(a->birthday.year)); } Câu 121: Hàm fopen với chế độ “r+” sẽ mở tập tin để Đáp án đúng: Đọc và ghi Câu 122: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại, ghi bổ sung theo kiểu văn bản? Đáp án đúng: f=fopen("a.txt",”a+t”); Câu 123: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại để đọc theo kiểu nhị phân? Đáp án đúng: f=fopen("a.txt",”rb”); Câu 124: Dấu hiệu nào là đúng khi dùng hàm fopen() để mở tập tin đã tồn tại để đọc và ghi theo kiểu nhị phân? Đáp án đúng: f=fopen("a.txt",”r+b”); Câu 125: Chương trình sau dùng để làm gì? #include int main(){ FILE *stream=fopen("a.txt",’r’); return 0; } Đáp án đúng: Lỗi biên dịch Câu 126: Xác định hằng số không hợp lệ được dùng trong hàm fseek? Đáp án đúng: SEEK_BEG Câu 127: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[]={1, 2, 3}; FILE *fp; fp = fopen("a.txt","wt"); for(int i=0; i<3; i++) fprintf(fp, "%d", a[i]); return 0; } Đáp án đúng: 123 Câu 128: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[][3]={{1,2,3}, {4,5,6}}; int m=2, n=3; FILE *fp; fp = fopen("a.txt","wt"); for(int i=0; i int main() { int *p; int n; FILE *fp; fp = fopen("d:\\a.txt","rt"); fscanf(fp,"%d", &n); p=(int*)malloc(n*sizeof(int)); ………… return 0; } Đáp án đúng: for(int i=0; i int main() { int *p; int m, n; FILE *fp; fp = fopen("d:\\a.txt","rt"); fscanf(fp,"%d", &m); fscanf(fp,"%d", &n); p=(int*)malloc(m*n*sizeof(int)); ………… return 0; } Đáp án đúng: for(int i=0; i int main () { FILE *fp; fp = fopen("NOTES.TXT","r+"); return 0; } Đáp án đúng: Mở tập tin "NOTES.TXT" ở chế độ đọc và ghi Câu 133: Tập tin nào sẽ bị đóng thông qua hàm fclose() trong chương trình sau? #include int main(){ FILE *fs,*ft,*fp; fp = fopen("ABC","r"); fs = fopen("ACD","r"); ft = fopen("ADF","r"); fclose(fp, fs, ft); return 0; } Đáp án đúng: Trả về lỗi Câu 134: Hàm nào dưới đây chỉ dùng để chuyển con trỏ về vị trí đầu tập tin? Đáp án đúng: rewind(); Câu 135: Hãy cho biết nội dung của tập tin “a.txt” sau khi thực thi chương trình sau? #include int main() { int a[][3]={{1,2,3}, {4,5,6}}; int m=2, n=3; FILE *fp; fp = fopen("a.txt","wt"); fprintf(fp, “Xuat mang: ”); for(int i=0; i int main () { printf("Hello"); main(); return 0; } Đáp án đúng: Không giới hạn cho đến khi tràn bộ nhớ Câu 137: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int factorial(unsignedint i) { if(i <=1) return1; else return i * factorial(i -1); } int main() { int i =5; printf("%d", factorial(i)); return 0; } Đáp án đúng: 120 Câu 138: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int pow(int x, int n) { if(n== 0) return 1; else return x*pow(x, n-1); } int main() { int i, k=0, n=2; for(i=0; i<5; i++) k=k+ pow(n,i); printf("%d", k); return 0; } Đáp án đúng: 31 Câu 139: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int fibonaci(int i) { if(i <= 1) return 1; return fibonaci(i-1) + fibonaci(i-2); } int main() { int i; for (i = 0; i < 5; i++) { printf("%3d", fibonaci(i)); } return 0; } Đáp án đúng: 1 1 2 3 5 Câu 140: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int tinhF(int n); int tinhG(int n); int main() { printf("%d",tinhF(2)); return 0; } int tinhF(int n) { if(n==0) return 1; else return tinhF(n-1)+ tinhG(n-1); } int tinhG(int n) { if(n==0)return 0; else return 3*tinhF(n-1)+ 2*tinhG(n-1); } Đáp án đúng: 4 Câu 141: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int tinhF(int n); int tinhG(int n); int main() { printf("%d",tinhG(2)); return 0; } int tinhF(int n) { if(n==0)return 1; else return tinhF(n-1)+ tinhG(n-1); } int tinhG(int n) { if(n==0)return 0; else return 3*tinhF(n-1)+ 2*tinhG(n-1); } Đáp án đúng: 9 Câu 142: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) {          if(n==0) return 0; int kq=f(a,n-1); if(*(a+n-1)%2==0)     kq++; return kq; } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; printf(“%d”, f(a,7)); return 0; } Đáp án đúng: 3 Câu 143: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) { if(n<=0)           return -1; if(n==1)           return a[0]; int kq=f(a,n-1); if(a[n-1]>kq) kq=a[n-1]; return kq; } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; printf(“%d”,f(a,7)); return 0; } Đáp án đúng: 9 Câu 144: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void f() { static int i = 3; printf("%d ", i); if(--i) f(); } int main() { f(); return 0; } Đáp án đúng: 3 2 1 Câu 145: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int max(int a[], int n) { int id; if(n<1) return -1; else if(n==1) return 0; else { id=max(a, n-1); if(a[n-1] > a[id]) id=n-1; return id; } } void f(int a[], int n) { if(n<=1) return; else      if(n>1) { int id=max(a, n-1); if(a[id]>a[n-1]) { int t=a[id]; a[id]=a[n-1]; a[n-1]=t; } f(a, n-1); } } int main() { int a[]={1, 2, 7, 4, 6, 9, 5}; f(a,7); for(int i=0; i<7; i++) printf(“%3d”, a[i]); return 0; } Đáp án đúng: 1 2 4 5 6 7 9 Câu 146: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì hàm sum được thực thi bao nhiêu lần? #include int sum(int n) { if(n==0) return 0; else return (sum(n-1)+n);                                                                     return (tinh_Tong(n-1)+n); } int main() { int n=5; sum(n); return 0; } Đáp án đúng: 6 Câu 147: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include unsigned int f(unsigned int a, unsigned int b) { if(a>b)          return f(a-b, b); else if(b>a) return f(a, b-a); else return a; } int main() { printf(“%d”, f(12, 8)); return 0; } Đáp án đúng: 4 Câu 148: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include void f(int *a, int n) {          if(n==0) return ; else {          f(a,n-1); printf("%3d", *(a+n-1)); } } int main() { int a[]={1, 2, 3, 4, 5}; f(a,5); return 0; } Đáp án đúng: 1 2 3 4 5 Câu 149: Khi chạy chương trình sau trong ngôn ngữ lập trình C thì kết quả xuất ra màn hình là gì? #include int f(int a[], int n) {          if(n<1) return; else if(n==1)   return a[0]; int kq=f(a,n-1); if(a[n-1] int tontai(int a[], int n, int x) { for(int i=0; i1) { int kq=f(a, n-1); if(tontai(a, n-1, a[n-1])) return kq; return kq+1; } } int main() { int a[]={19, 7, 7, 21,23, 7, -5}; printf(“%d”,f(a,7)); return 0; } Đáp án đúng: 5